home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - DOS Part 2
/
DOS028.dsk
/
FOOTBALL II.int
< prev
next >
Wrap
Text File
|
2012-02-16
|
8KB
|
165 lines
0 REM (C) 1978 BY LOU HAEHN
1 GOSUB 29000:REM TITLE
2 REM KEYED IN FOR APPLE-CAN BY HASNAIN KARA
110 GOSUB 32000:REM DIM'S
200 GOSUB 30000:REM GAME INITS
300 GOSUB 31000:REM PLAYING FLD
400 IF PASS THEN 700
410 B= PEEK (-16287+H)>127:B=BB+B:IF B AND NOT OB THEN 600
526 IF B AND NOT OB THEN 700:IF NOT OB AND NOT B THEN 700:OB=0:GOTO 700
600 OB=B
610 X=X+5:IF X>39 THEN X=0
620 IF SCRN(X,Y)#4 THEN 3000:YTG=YTG-1:FLDPOS=FLDPOS+1
625 IF YTG<0 THEN YTG=0
630 VTAB 24:TAB 36:PRINT " ";:TAB 36:IF FLDPOS>100 THEN PRINT 0;:IF FLDPOS#100 THEN PRINT 100-FLDPOS;
640 HLIN X,X+1 AT Y:COLOR= 4
650 HLIN OX,OX+1 AT OY:OX=X:COLOR= CL:IF FLDPOS=101 THEN 20000
700 PD=PDL (H)
800 IF PD<50 THEN PY=33:IF PD>=50 AND PD<200 THEN PY=20:IF PD>200 THEN PY=7
900 IF PY=Y THEN 940:IF (PY=7 AND Y=33) OR (PY=33 AND Y=7) THEN PY=20
910 Y=PY:IF SCRN(X,Y)#4 THEN 3000
920 HLIN X,X+1 AT Y:COLOR= 4
930 HLIN OX,OX+1 AT OY:OY=Y:COLOR= CL
940 IF NOT PASS THEN 1000:COLOR= SVC:PLOT LX,LY:LX=(LX+1) MOD 40
950 SVC= SCRN(LX,LY):COLOR= CL:PLOT LX,LY:IF LX=6 THEN 999
960 IF X=LX AND Y=LY THEN PASS=0:IF PASS THEN 1000:FLDPOS=FLDPOS+8:YTG=YTG-8
970 B=1:BB=B:GOTO 1000
999 X(1)=X:Y(1)=Y:GOTO 3000
1000 IF NOT TIME THEN 2000:TIME=TIME-1
1010 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
1020 IF (TIME/3) MOD 60<10 THEN PRINT "0";:PRINT (TIME/3) MOD 60;
1030 BB=0
1999 IF TIME MOD 10=9 THEN J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
2000 I= RND (L):IF I THEN 400
2005 OB=0:BB= PEEK (-16287+H)>127
2010 DX=0:DY=0:I= RND (5)+1:IF RND (2) THEN 2030
2020 DX=-5:IF X(I)<X THEN DX=5:GOTO 2040
2030 DY=-13:IF Y(I)<Y THEN DY=13
2040 TX=X(I)+DX:TY=Y(I)+DY:IF TX<0 OR TX>39 THEN TX=X(I)
2050 IF TY<0 OR TY>39 THEN TY=Y(I)
2060 IF SCRN(TX,TY)=9 THEN 400
2070 COLOR= 4:HLIN X(I),X(I)+1 AT Y(I):X(I)=TX:Y(I)=TY
2080 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I):COLOR= CL
2090 IF TX=X AND TY=Y THEN 3018:GOTO 400
3000 GOSUB 25000
3010 FOR I=1 TO 5:IF X(I)=X AND Y(I)=Y THEN 3020:NEXT I
3012 GOTO 3020
3018 GOSUB 25000
3020 FOR J=1 TO 8:COLOR= 4:HLIN X(I),X(I)+1 AT Y(I)
3030 FOR K=1 TO 40:NEXT K
3040 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I)
3050 FOR K=1 TO 40:NEXT K,J:BB=0
3060 DOWN=DOWN+1:IF DOWN<5 AND TIME AND YTG>=1 THEN 300:IF DOWN<5 AND YTG>=1 AND NOT TIME THEN 3120
3070 IF YTG<1 THEN 3100:FLDPOS=100-FLDPOS:H=H#1
3100 YTG=10:DOWN=1:IF 100-FLDPOS<YTG THEN YTG=100-FLDPOS
3110 IF TIME THEN 300
3120 QTR=QTR+1
3130 TIME=2700:IF QTR=5 THEN END
3135 TEXT :CALL -936:VTAB 11:TAB 21:PRINT QTR:PRINT :TAB 18:PRINT "QUARTER":FOR I=1 TO 1200:NEXT I:GR
3140 IF QTR#3 THEN 300
3150 H=0:FLDPOS=20:YTG=10:DOWN=1:GOTO 300
5555 PRINT PDL (0):GOTO 5555
20000 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
20010 PRINT "TOUCHDOWN": POKE 50,255
20020 GOSUB 25009:PRINT " ":GOSUB 25009:PRINT ""
20030 IF H THEN HOM=HOM+7:IF NOT H THEN VIS=VIS+7:FLDPOS=20:DOWN=1:YTG=10:H=H#1
20035 IF TIME THEN 20040:QTR=QTR+1:IF QTR#5 THEN 3130:QTR=4:GR :GOTO 300
20040 GOSUB 25009:FOR I=1 TO 300:NEXT I:GR :GOTO 300
25000 IF DOWN=4 AND YTG>0 THEN 25009:PRINT "";:RETURN
25009 FOR JJ=1 TO 3:FOR K=1 TO 15
25010 J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
25011 NEXT K:FOR J=1 TO 90:NEXT J,JJ:RETURN
27000 POP :F= RND (65):IF FLDPOS+F>101 THEN 27150:GOSUB 25009:GOTO 27190
27150 FOR I=1 TO 500:NEXT I
27155 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
27160 PRINT "FIELDGOAL": POKE 50,255
27170 GOSUB 25009:PRINT " ":GOSUB 25009
27180 IF H THEN HOM=HOM+3:IF NOT H THEN VIS=VIS+3
27190 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
27290 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
27300 POP :FOR I=1 TO 400:F=99-FLDPOS:FLDPOS=FLDPOS+ RND (F):GOSUB 25009:FOR I=1 TO 300:NEXT I:GOTO 3070
27600 IF FLDPOS<=90 THEN 27610:CALL -936:VTAB 23:PRINT "** CAN'T PASS INTO END ZONE **";:FOR I=1 TO 1300:NEXT I:CALL -936:GOTO 31000
27610 PASS=1:BB=1:LX=7:LY= RND (3):SVC=4
27620 IF NOT LY THEN LY=7:IF LY=1 THEN LY=20:IF LY=2 THEN LY=33
27630 OB=0:POP :FOR I=1 TO 150:NEXT I:GOTO 410
29000 TEXT :CALL -936:VTAB 7
29010 TAB 13:PRINT "*** FOOTBALL ***":PRINT :PRINT :PRINT
29020 TAB 16:PRINT "WRITTEN BY":PRINT
29030 TAB 16:PRINT "LOU HAEHN"
29035 VTAB 24:PRINT "(C) 1978 BY LOU HAEHN";
29040 FOR I=0 TO 1300: POKE 1979,I MOD 256:NEXT I:RETURN
30000 FLDPOS=20:H=1
30010 FLD=4
30020 HOM=0:VIS=0
30030 DOWN=1:YTG=10
30040 TIME=2700:QTR=1
30999 RETURN
31000 COLOR= 4:FOR I=0 TO 2:VLIN 1,38 AT I:NEXT I:PASS=0
31001 FOR I=4 TO 37 STEP 5:FOR J=0 TO 3:VLIN 1,38 AT J+I:NEXT J,I
31002 VLIN 1,38 AT 39
31008 Y=20:X=0:OX=0:OY=Y
31009 B=0:PD=B:OB=B:PY=0
31010 COLOR= 15:HLIN 0,39 AT 0:HLIN 0,39 AT 39
31020 FOR I=3 TO 39 STEP 5:VLIN 0,39 AT I
31030 NEXT I
31031 CL=11:IF H THEN CL=13
31035 COLOR= CL:HLIN X,X+1 AT Y
31036 VTAB 21:FOR I=3 TO 39 STEP 5:TAB I:PRINT " ";:NEXT I
31037 IF FLDPOS#100 THEN 31040:TAB 3:GOTO 31046
31040 FOR I=3 TO 39 STEP 5:TAB I:W=FLDPOS+I/5
31041 IF W>50 THEN W=100-W:
31045 IF W=0 THEN 31046:PRINT W;:NEXT I:GOTO 31050
31046 PRINT "G";
31050 IF H THEN POKE 50,63:VTAB 23:TAB 2:PRINT "HOME";: POKE 50,255:TAB 10:PRINT HOM;
31055 IF NOT H THEN POKE 50,63:VTAB 24:TAB 2:PRINT "VISITOR";: POKE 50,255:TAB 10:PRINT VIS;
31060 VTAB 24:TAB 24:PRINT "YDS TO GOAL ";:TAB 36:PRINT 100-FLDPOS;
31070 VTAB 22:TAB 24:PRINT "DOWN ";:TAB 29:PRINT DOWN;
31080 VTAB 23:TAB 24:PRINT "YARDS TO GO ";:TAB 36:PRINT YTG;
31090 VTAB 22:TAB 16:PRINT "QTR ";:TAB 20:PRINT QTR;
31095 VTAB 24:TAB 20:PRINT " ";
31100 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
31120 VTAB 23:TAB 16:PRINT "TIME:";
31130 FOR I=1 TO 3:X(I)=15:NEXT I
31140 FOR I=3 TO 5:Y(I)=20:NEXT I
31150 Y(1)=7:Y(2)=33
31160 X(4)=25:X(5)=35
31170 COLOR= 9:FOR I=1 TO 5:HLIN X(I),X(I)+1 AT Y(I):NEXT I:COLOR= CL
31180 IF NOT TIME AND QTR=4 THEN END
31800 KEY= PEEK (-16384):IF KEY<127 THEN 31800: POKE -16368,0:IF KEY= ASC(" ") THEN 31999
31810 IF KEY# ASC("K") AND KEY# ASC("F") AND KEY# ASC("P") THEN 31800
31820 IF KEY= ASC("F") THEN 27000
31830 IF KEY= ASC("K") THEN 27300
31840 IF KEY= ASC("P") THEN 27600
31999 RETURN
32000 REM GAME INITS
32020 DIM X(5),Y(5)
32030 Y=20:X=0:OX=0:OY=Y:B=0:PD=B:OB=B:PY=0:CL=0:DIM HOM$(30),VIS$(30)
32035 CALL -936:VTAB 8:PRINT "** KEYS ACTIVE AT BEGINNING OF DOWN **"
32036 VTAB 12:TAB 5:PRINT "SPACE BAR = RUNNING PLAY":PRINT
32037 TAB 5:PRINT "'P' = PASS PLAY":PRINT
32038 TAB 5:PRINT "'K' = PUNT OR QUICK KICK":PRINT
32039 TAB 5:PRINT "'F' = FIELD GOAL ATTEMPT"
32040 FOR I=1 TO 10000:NEXT I
32060 CALL -936:VTAB 6:PRINT "**** CHOOSE YOUR SKILL LEVEL ****"
32070 PRINT :PRINT :TAB 6:PRINT "0 = BEGINNER":PRINT
32080 TAB 6:PRINT "13 = AVERAGE":PRINT
32090 TAB 6:PRINT "25 = EXPERT":PRINT
32100 TAB 6:PRINT "(ALL NUMBERS 0 THRU 25 ARE VALID)":PRINT :PRINT :TAB 6
32110 INPUT "LEVEL ",L:IF L<0 OR L>25 THEN 32060:L=26-L
32120 GR :CALL -936
32130 TAB 10:PRINT "HOME";:TAB 30:PRINT "VISITOR":PRINT :PRINT "MOVE GAME CONTROLS TO PICK TEAM":PRINT "->PRESS ANY KEY TO START GAME<-";
32140 OT0=PDL (0)/7:OT1=PDL (1)/7:TO=OT0:T1=OT1
32150 COLOR= 15
32160 COLOR= 0:PLOT 10,OT1:PLOT 30,OT0:COLOR= 15:PLOT 10,T1:PLOT 30,T0
32170 OT0=T0:OT1=T1:IF PEEK (-16384)>127 THEN 32700
32180 T0=PDL (0)/7:T1=PDL (1)/7:GOTO 32160
32700 POKE -16368,0:CALL -936
32710 GR :CALL -936:PRINT "CONTOL VERTICAL MOVEMENT WITH PADDLE":PRINT
32711 COLOR= 13:FOR I=0 TO 39:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
32712 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
32720 GR :CALL -936:PRINT "CONTOL HORIZONTAL MOVEMENT WITH BUTTON":PRINT
32721 COLOR= 13:FOR I=0 TO 39:PLOT I,20:FOR J=1 TO 15:NEXT J,I
32722 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT I,20:FOR J=1 TO 15:NEXT J,I
32730 CALL -936:RETURN
32767 REM (C) 1978 BY LOU HAEHN